using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Linq;
using Apache.Cassandra;
using Cassandraemon.FullText;


namespace Cassandraemon
{
		
	public static class CassandraBinaryExtensions
	{
		
		public static bool In(this CassandraBinary source, params byte[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params sbyte[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params string[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params DateTime[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params TimeSpan[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params bool[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params char[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params short[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params int[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params long[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params ushort[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params uint[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params ulong[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params float[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params double[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params Guid[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, params Enum[] items)
		{
			return source.Value.In(items);
		}
		
		public static bool In(this CassandraBinary source, IEnumerable<byte[]> items)
		{
			return source.Value.In(items);
		}
		
		
		public static bool GreaterThanOrEqual(this CassandraBinary source, object item)
		{
			return source.Value.GreaterThanOrEqual(item);
		}
		
		public static bool LessThanOrEqual(this CassandraBinary source, object item)
		{
			return source.Value.LessThanOrEqual(item);
		}
		
		public static bool Between(this CassandraBinary source, object start, object end)
		{
			return source.Value.Between(start, end);
		}
	
		public static bool Match(this CassandraBinary source, IAnalyzer analyzer, string query)
		{
			return source.Value.Match(analyzer, query);
		}
		
		
		public static byte ToByte(this CassandraBinary source)
		{
			return source.Value.ToByte();
		}
		
		public static sbyte ToSByte(this CassandraBinary source)
		{
			return source.Value.ToSByte();
		}
		
		public static string ToUTF8(this CassandraBinary source)
		{
			return source.Value.ToUTF8();
		}
		
		public static DateTime ToDateTime(this CassandraBinary source)
		{
			return source.Value.ToDateTime();
		}
		
		public static TimeSpan ToTimeSpan(this CassandraBinary source)
		{
			return source.Value.ToTimeSpan();
		}
		
		public static bool ToBool(this CassandraBinary source)
		{
			return source.Value.ToBool();
		}
		
		public static char ToChar(this CassandraBinary source)
		{
			return source.Value.ToChar();
		}
		
		public static short ToInt16(this CassandraBinary source)
		{
			return source.Value.ToInt16();
		}
		
		public static int ToInt32(this CassandraBinary source)
		{
			return source.Value.ToInt32();
		}
		
		public static long ToInt64(this CassandraBinary source)
		{
			return source.Value.ToInt64();
		}
		
		public static ushort ToUInt16(this CassandraBinary source)
		{
			return source.Value.ToUInt16();
		}
		
		public static uint ToUInt32(this CassandraBinary source)
		{
			return source.Value.ToUInt32();
		}
		
		public static ulong ToUInt64(this CassandraBinary source)
		{
			return source.Value.ToUInt64();
		}
		
		public static float ToSingle(this CassandraBinary source)
		{
			return source.Value.ToSingle();
		}
		
		public static double ToDouble(this CassandraBinary source)
		{
			return source.Value.ToDouble();
		}
		
		public static Guid ToGuid(this CassandraBinary source)
		{
			return source.Value.ToGuid();
		}
		
		public static TEnum ToEnum<TEnum>(this CassandraBinary source)
		{
			return source.Value.ToEnum<TEnum>();
		}
		
		public static T ToObject<T>(this CassandraBinary source)
		{
			return source.Value.ToObject<T>();
		}
	}
}
